﻿using ConfExpert.Forms.ImportWizards;
using Extensions;
using Karbel;
using System;
using System.Collections.Generic;
using System.Data;

namespace ConfExpert.Forms.IT
{
    public partial class ImportFatura : XImportWizard
    {
        //public ImportFatura()
        //{
        //    InitializeComponent();

        //    Init("ImportFatura", false);
        //    this.FileDone += ImportFatura_FileDone;
        //    this.ProcessDone += NewOrder_ProcessDone;
        //    this.ProcessStart += NewOrder_ProcessStart;

        //    btnSave.Enabled = false;
        //    btnSave.ItemClick += BtnSave_ItemClick;
        //    splitter.PanelVisibility = DevExpress.XtraEditors.SplitPanelVisibility.Panel1;
        //}

        //            Dictionary<string, int> indexes;
        //void ImportFatura_FileDone(DataSet Data, string FileName)
        //{
        //    dtAbb.Clear();
        //    indexes = new Dictionary<string, int>();
        //    foreach (DataTable dt in Data.Tables)
        //    {
        //        string article = dt.TableName;
        //        if (!article.Contains("FATURALAR"))
        //            continue;

        //            DataRow dr0 = dt.Rows[0];
        //            for (int colIndex = 0; colIndex < dt.Columns.Count; colIndex++)                    
        //                switch (dr0[colIndex].ToString())
        //                {
        //                    case "FIRMA": indexes.Add("Sirket", colIndex); break;
        //                    case "TARIH": indexes.Add("Tarih_int", colIndex); break;
        //                    case "FATURA TIPI": indexes.Add("IT_FaturaTipi", colIndex); break;
        //                    case "FATURA DETAYI": indexes.Add("UrunAdi", colIndex); break;
        //                    case "FATURA KESEN FIRMA": indexes.Add("Tedarikci", colIndex); break;
        //                    case "FATURA NUMARASI": indexes.Add("FaturaNo", colIndex); break;
        //                    case "DETAY AÇIKLAMA": indexes.Add("KullanimAmaci", colIndex); break;
        //                    case "ADET": indexes.Add("Adet", colIndex); break;
        //                    case "BRM FİY.": indexes.Add("BirimFiyat", colIndex); break;
        //                    case "TOPLAM FİYAT": indexes.Add("ToplamFiyat", colIndex); break;
        //                    case "KDV": indexes.Add("KDV", colIndex); break;
        //                    case "FATURA TOPLAMI": indexes.Add("FaturaToplami", colIndex); break;
        //                }
                    

        //            for (int i = 1; i < dt.Rows.Count; i++)
        //            {
        //                DataRow dr = dt.Rows[i];

        //                if (dr[indexes["UrunAdi"]] != DBNull.Value)
        //                {
        //                    DataRow drAbb = dtAbb.NewRow();
        //                    foreach (KeyValuePair<string, int> ind in indexes)                            
        //                        drAbb[ind.Key] = dr[ind.Value];                            
        //                    dtAbb.Rows.Add(drAbb);
        //                }
        //            }
        //        }            

        //}


        //DataTable dtAbb;
        //void NewOrder_ProcessStart()
        //{
        //    dtAbb = new DataTable();
        //    dtAbb.Columns.Add("Sirket", typeof(string));
        //    dtAbb.Columns.Add("Tarih_int", typeof(int));
        //    dtAbb.Columns.Add("IT_FaturaTipi", typeof(string));
        //    dtAbb.Columns.Add("UrunAdi", typeof(string));
        //    dtAbb.Columns.Add("Tedarikci", typeof(string));
        //    dtAbb.Columns.Add("FaturaNo", typeof(string));
        //    dtAbb.Columns.Add("KullanimAmaci", typeof(string));
        //    dtAbb.Columns.Add("Adet", typeof(int));
        //    dtAbb.Columns.Add("BirimFiyat", typeof(decimal));
        //    dtAbb.Columns.Add("ToplamFiyat", typeof(decimal));
        //    dtAbb.Columns.Add("KDV", typeof(decimal));
        //    dtAbb.Columns.Add("FaturaToplami", typeof(decimal));
        //}


        //string xmla;
        //DataTable t;
        //void NewOrder_ProcessDone()
        //{
        //    xmla = dtAbb.Serialize();

        //    DataSet d = ExecuteDataSet("IT_GetFaturaImport", xmla);

        //    MasterGrid.Init(d.Tables[0]);
        //    MasterGrid.AddSummary();
        //    gvMaster.BestFitColumns();

        //    if (d.Tables[1].Rows.Count > 0 ||
        //        d.Tables[2].Rows.Count > 0)
        //    {
        //        btnSave.Enabled = false;

        //        string srkt = string.Empty;
        //        foreach (DataRow r in d.Tables[1].Rows)
        //            srkt += r["Sirket"] + Environment.NewLine;

        //        string tip = string.Empty;
        //        foreach (DataRow r in d.Tables[2].Rows)
        //            tip += r["IT_FaturaTipi"] + Environment.NewLine;

        //        ShowErrorMessage("Aktarımdan önce aşağıdaki değerlerin veritabanına girilmesi gerekiyor!" + Environment.NewLine + Environment.NewLine + srkt + Environment.NewLine + tip);
        //    }
        //    else
        //        btnSave.Enabled = true;
        //}


        //private void BtnSave_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        //{
        //    gvMaster.EndEdit();

        //    ExecuteScalar("IT_UpdFaturaImport", MasterGrid.Serialize());

        //    Notify("Aktarıldı.");
        //    btnSave.Enabled = false;

        //}


    }
}